package com.yuanshi.food.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 活动表（存储营销活动信息，手册“活动规则可配置”要求）
 *
 * @author wang
 * @date 2025/11/05
 */
@TableName(value ="activity")
@Data
public class Activity {
    /**
     * 活动ID（主键）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务标识（固定42位字符串）
     */
    @TableField(value = "biz_code")
    private String bizCode;

    /**
     * 活动名称（如“618轻食促销活动”）
     */
    @TableField(value = "activity_name")
    private String activityName;

    /**
     * 类型：1-Banner活动，2-满减活动，3-预定优惠（枚举化活动类型）
     */
    @TableField(value = "activity_type")
    private Object activityType;

    /**
     * Banner图片URL（仅类型1用）
     */
    @TableField(value = "banner_url")
    private String bannerUrl;

    /**
     * 跳转链接（活动页面URL）
     */
    @TableField(value = "jump_url")
    private String jumpUrl;

    /**
     * 活动规则（JSON格式：{"满100减20":"订单满100元可用"}，手册“活动规则结构化”要求）
     */
    @TableField(value = "rule_json")
    private String ruleJson;

    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    private Date startTime;

    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    private Date endTime;

    /**
     * 活动状态：1-启用，2-禁用，3-已结束（枚举化状态）
     */
    @TableField(value = "activity_status")
    private Object activityStatus;

    /**
     * 逻辑删除：0-未删除，1-已删除
     */
    @TableField(value = "is_deleted")
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
}